/**
 * 配置路由规则
 * 1. 准备一个数组：[{path:'地址',element:组件}, ...] => 导出
 * 2. 在App.jsx中使用：const 路由规则配置元素 = useRoutes(路由规则数组)
 * 3. 在App.jsx中使用：{路由规则配置元素} 渲染路由规则元素
 * 4. 在index.js入口：使用Brow
 */

import Layout from '../pages/layout'
import Login from '../pages/login'
import NotFound from '../pages/404'
import Test from '@/pages/test'

// 导入拦截组件
import Auth from '@/components/auth'

// 导入子页面
import Home from '@/pages/home'
import Article from '@/pages/article'
import Publish from '@/pages/publish'

const routes = [
  //公共布局页面
  {
    path: '/',
    element: <Auth element={<Layout />} />,
    // 子页面
    children: [
      {
        path: '/',
        element: <Home />,
      },
      {
        path: '/article',
        element: <Article />,
      },
      // path地址： /publish/* 1. 普通路由 2. 动态路由
      {
        path: '/publish/*',
        element: <Publish />,
      },
    ],
  },
  // 登录
  {
    path: '/login',
    element: <Login />,
  },
  // 404
  {
    path: '*',
    element: <NotFound />,
  },
  {
    path: 'test',
    element: <Test />,
  },
]
export default routes
